
import { userAccountLogin } from '@/api/user'
import Message from '@/components/Message/index.js'
import router from '@/router'
// 用户状态
export default {
  namespaced: true,
  state: () => {
    return {
      profile: {
        id: '',
        nickname: '',
        avatar: '',
        token: '',
        mobile: ''
      }
    }
  },
  mutations: {
    setProfile (state, payload) {
      state.profile = payload
    },
    // 清空vuex数据
    clearProfile (state) {
      for (const key in state.profile) {
        state.profile[key] = null
      }
    }
  },
  // 比如vee 监听视口这些插件有没有支持vue2的插件
  // 通过手机号发送验证码 实现方式  调用一个自己的服务端接口  服务端接口去和三方验证码服务
  // 端口为什么必须是8080 如果不是有什么问题 无影响  host  127.0.0.1  www.corho.com
  actions: {
    async userAccountLogin (ctx, payload) {
      try {
        // console.log(ctx)
        // console.log(payload)
        const res = await userAccountLogin(payload)
        // console.log(res)
        // ctx.commit('setProfile', res.result)
        // const { id, nickname, avatar, token, mobile } = res.result
        // ctx.commit('setProfile', { id, nickname, avatar, token, mobile })
        ctx.commit('setProfile', res.result)
        // 提示用户
        Message({ type: 'success', text: '登录成功' })
        // 跳转页面
        router.push('/')
      } catch (err) {
        Message({ type: 'error', text: '登录失败' })
      }
    }
  }
}
